1、 为更新按钮添加单击事件,在布局文件中,更新按钮使用的是 ImageView 控件,id 为 titile_update_btn
在 UI 线程中,为 ImageView 增加单击事件,如下图所示:
2、 从 SharedPreferences 中读取城市的 id,拼接 URL 地址。通过SharedPreferences 读取城市 id,如果没有定义则缺省为 101010100(北 京城市 ID)。
通过获取的 ID,拼接 URL 地址。
运行结果如下图所示。
3、 使用 HttpClient 获取网络数据 根据上一步获取的地址,通过 HttpClient 类,得到相应的网络数据,由于数据是 采用 gzip 格式压缩的,因此需要将其解压。代码如下所示:
此时运行程序,发现无法获取到数据,并且通过 Logcat 看到如下信息。
然后再运行程序,得到正确的结果,如下图所示:
4、 增加网络状态检测 在访问网络资源时,可以先检测一下网络状态是否可用。
需要添加访问网络状态的权限 ,在AndroidManifest文件添加权限
运行结果: